package com.ruoyi.manage.article.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.map.BaiduMapUtil;
import com.ruoyi.common.utils.map.Location;
import com.ruoyi.manage.article.domain.DataExchanges;
import com.ruoyi.manage.article.mapper.DataExchangesMapper;
import com.ruoyi.manage.article.service.IDataExchangesService;
import com.sun.org.apache.bcel.internal.generic.I2F;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;



/**
 * 存储各个数据交易所的相关信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-12-18
 */
@Service
public class DataExchangesServiceImpl implements IDataExchangesService
{
    @Autowired
    private DataExchangesMapper dataExchangesMapper;

    @Autowired
    private BaiduMapUtil baiduMapUtil;

    /**
     * 查询存储各个数据交易所的相关信息
     * 
     * @param id 存储各个数据交易所的相关信息主键
     * @return 存储各个数据交易所的相关信息
     */
    @Override
    public DataExchanges selectDataExchangesById(String id)
    {
        return dataExchangesMapper.selectDataExchangesById(id);
    }

    /**
     * 查询存储各个数据交易所的相关信息列表
     * 
     * @param dataExchanges 存储各个数据交易所的相关信息
     * @return 存储各个数据交易所的相关信息
     */
    @Override
    public List<DataExchanges> selectDataExchangesList(DataExchanges dataExchanges)
    {
        return dataExchangesMapper.selectDataExchangesList(dataExchanges);
    }

    /**
     * 新增存储各个数据交易所的相关信息
     * 
     * @param dataExchanges 存储各个数据交易所的相关信息
     * @return 结果
     */
    @Override
    public int insertDataExchanges(DataExchanges dataExchanges)
    {
        //插入信息 根据输入的地址 去查询经纬度坐标
        Location location = baiduMapUtil.getLocationByAddress(dataExchanges.getAddress());


        dataExchanges.setLatitude(String.valueOf(location.getLatitude()));
        dataExchanges.setLongitude(String.valueOf(location.getLongitude()));

        //修改的时候加一个判断逻辑 如果是0 就把vlue 设置成name 的值 让他俩 值相同

        if(dataExchanges.getIsShow().equals("0")){
            dataExchanges.setValue(dataExchanges.getName());
        }

        if(dataExchanges.getIsShow().equals("1")){
            dataExchanges.setValue("");
        }
        dataExchanges.setCreateTime(DateUtils.getNowDate());
        return dataExchangesMapper.insertDataExchanges(dataExchanges);
    }

    /**
     * 修改存储各个数据交易所的相关信息
     * 
     * @param dataExchanges 存储各个数据交易所的相关信息
     * @return 结果
     */
    @Override
    public int updateDataExchanges(DataExchanges dataExchanges)
    {

        //修改的时候加一个判断逻辑 如果是0 就把vlue 设置成name 的值 让他俩 值相同

        if(dataExchanges.getIsShow().equals("0")){
            dataExchanges.setValue(dataExchanges.getName());
        }

        if(dataExchanges.getIsShow().equals("1")){
            dataExchanges.setValue("");
        }
        //如果是1 就把value 设置成''空串
        dataExchanges.setUpdateTime(DateUtils.getNowDate());
        return dataExchangesMapper.updateDataExchanges(dataExchanges);
    }

    /**
     * 批量删除存储各个数据交易所的相关信息
     * 
     * @param ids 需要删除的存储各个数据交易所的相关信息主键
     * @return 结果
     */
    @Override
    public int deleteDataExchangesByIds(String[] ids)
    {
        return dataExchangesMapper.deleteDataExchangesByIds(ids);
    }

    /**
     * 删除存储各个数据交易所的相关信息信息
     * 
     * @param id 存储各个数据交易所的相关信息主键
     * @return 结果
     */
    @Override
    public int deleteDataExchangesById(String id)
    {
        return dataExchangesMapper.deleteDataExchangesById(id);
    }
}
